<template>
  <a-spin :spinning="loading">
    <a-card style="margin-top: 24px" :bordered="false" title="总体幸福感评估">
      <a-button slot="extra" type="danger" @click="exit"> 返回首页 </a-button>
      <div class="table-operator" style="border-top: 5px">
        <a-button type="danger" @click="add" :disabled="buttonStatus"> 填写量表 </a-button>
      </div>

      <a-tabs v-model="activeKey" hide-add @click="changeHappiness()" @edit="onEdit">
        <a-tab-pane v-for="pane in panes" :key="pane.key" :tab="pane.title" :closable="pane.closable">
          {{ pane.content }}
        </a-tab-pane>
      </a-tabs>
      <div class="container">
        <div class="width90">
          <a-form-model-item layout="inline" label="评估结果" v-if="evalution1.output">
            <span class="ant-form-text">
              {{ evalution1.output }}
            </span>
          </a-form-model-item>
          <a-form-model-item label="1 你的总体感觉怎样(在过去的一个月里)">
            <a-radio-group v-model="radios.radio1" :options="options1" />
          </a-form-model-item>
          <a-form-model-item label="2 你是否为自己的神经质或“神经病”感到烦恼(在过去的一个月里)">
            <a-radio-group v-model="radios.radio2" :options="options2" />
          </a-form-model-item>
          <a-form-model-item label="3 你是否一直牢牢地控制着自己的行为、思维、情感或感觉(在过去的一个月里)">
            <a-radio-group v-model="radios.radio3" :options="options3" />
          </a-form-model-item>
          <a-form-model-item
            label="4 你是否由于悲哀、失去信心、失望或有许多麻烦而怀疑还有任何事情值得去做(在过去的一月里)"
          >
            <a-radio-group v-model="radios.radio4" :options="options4" />
          </a-form-model-item>
          <a-form-model-item label="5 你是否正在受到或曾经受到任何约束、刺激或压力(在过去的一个月里)">
            <a-radio-group v-model="radios.radio5" :options="options5" />
          </a-form-model-item>
          <a-form-model-item label="6 你的生活是否幸福、满足或愉快(在过去的一个月里)">
            <a-radio-group v-model="radios.radio6" :options="options6" />
          </a-form-model-item>
          <a-form-model-item
            label="7 你是否有理由怀疑自己曾经失去理智、或对行为、谈话、思维或记忆失去控制(在过去的一
            个月里)"
          >
            <a-radio-group v-model="radios.radio7" :options="options7" />
          </a-form-model-item>
          <a-form-model-item label="8 你是否感到焦虑、担心或不安(在过去的一个月里)">
            <a-radio-group v-model="radios.radio8" :options="options8" />
          </a-form-model-item>
          <a-form-model-item label="9 你睡醒之后是否感到头脑清晰和精力充沛(在过去的一个月里)">
            <a-radio-group v-model="radios.radio9" :options="options9" />
          </a-form-model-item>
          <a-form-model-item label="10 你是否因为疾病、身体的不适、疼痛或对患病的恐惧而烦恼(在过去一个月里)">
            <a-radio-group v-model="radios.radio10" :options="options10" />
          </a-form-model-item>
          <a-form-model-item label="11 你每天的生活中是否充满了让你感兴趣的事情(在过去的一个月里)">
            <a-radio-group v-model="radios.radio11" :options="options10" />
          </a-form-model-item>
          <a-form-model-item label="12 你是否感到沮丧和忧郁(在过去的一个月里)">
            <a-radio-group v-model="radios.radio12" :options="options10" />
          </a-form-model-item>
          <a-form-model-item label="13 你是否情绪稳定并能把握住自己(在过去的一个月里)">
            <a-radio-group v-model="radios.radio13" :options="options10" />
          </a-form-model-item>
          <a-form-model-item label="14 你是否感到疲劳、过累、无力或筋疲力竭(在过去的一个月里)">
            <a-radio-group v-model="radios.radio14" :options="options10" />
          </a-form-model-item>
          <a-form-model-item
            label="15 你对自己健康关心或担忧的程度如何(在过去的一个月里)，请选择程度，分数越高，关心
            程度越高，0 表示不关心，10 表示非常关心"
          >
            <a-radio-group v-model="radios.radio15" :options="options11" />
          </a-form-model-item>
          <a-form-model-item
            label="16 你感到放松或紧张的程度如何(在过去的一个月里)，请选择程度，分数越高，紧张程度越
            高，0 表示松弛，10 表示非常紧张"
          >
            <a-radio-group v-model="radios.radio16" :options="options11" />
          </a-form-model-item>
          <a-form-model-item
            label="17 你感觉自己的精力、精神和活力如何(在过去的一个月里)，请选择程度，分数越高，精力
            程度越高，0 表示没精力，10 表示精力充沛"
          >
            <a-radio-group v-model="radios.radio17" :options="options11" />
          </a-form-model-item>
          <a-form-model-item
            label="18 你忧郁或快乐的程度如何(在过去的一个月里)，请选择程度，分数越高，快乐程度越高，0
            表示非常犹豫，10 表示非常快乐"
          >
            <a-radio-group v-model="radios.radio18" :options="options11" />
          </a-form-model-item>
          <a-form-model-item label="19 你是否由于严重的性格、情感、行为或精神问题而感到需要帮助(在过去的一年里)">
            <a-radio-group v-model="radios.radio19" :options="options12" />
          </a-form-model-item>
          <a-form-model-item label="20 你是否曾感到将要精神崩溃或接近于精神崩溃">
            <a-radio-group v-model="radios.radio20" :options="options13" />
          </a-form-model-item>
          <a-form-model-item label="21 你是否曾有过精神崩溃">
            <a-radio-group v-model="radios.radio21" :options="options13" />
          </a-form-model-item>
          <a-form-model-item
            label="22 你是否曾因为性格、情感、行为或精神问题在精神病院、综合医院精神病科病房或精神卫生诊所治疗"
          >
            <a-radio-group v-model="radios.radio22" :options="options13" />
          </a-form-model-item>
          <a-form-model-item label="23 你是否曾因为性格、情感、行为或精神问题求助于精神医生、心理学家">
            <a-radio-group v-model="radios.radio23" :options="options13" />
          </a-form-model-item>
          <a-form-model-item label="24 你是否因自己的一些问题求助于普通医生(真正的躯体疾病或常规检查除外)">
            <a-radio-group v-model="radios.radio24" :options="options14" />
          </a-form-model-item>
          <a-form-model-item label="25 你是否因自己的一些问题求助于脑科或神经外科专家">
            <a-radio-group v-model="radios.radio25" :options="options14" />
          </a-form-model-item>
          <a-form-model-item label="26 你是否因自己的一些问题求助于护士(一般内科疾病除外)">
            <a-radio-group v-model="radios.radio26" :options="options14" />
          </a-form-model-item>
          <a-form-model-item label="27 你是否因自己的一些问题求助于律师(常规的法律问题除外)">
            <a-radio-group v-model="radios.radio27" :options="options14" />
          </a-form-model-item>
          <a-form-model-item label="28 你是否因自己的一些问题求助于警察(单纯的交通违章除外)">
            <a-radio-group v-model="radios.radio28" :options="options14" />
          </a-form-model-item>
          <a-form-model-item label="29 你是否因自己的一些问题求助于牧师、神父等各种神职人员">
            <a-radio-group v-model="radios.radio29" :options="options14" />
          </a-form-model-item>
          <a-form-model-item label="30 你是否因自己的一些问题求助于婚姻咨询专家">
            <a-radio-group v-model="radios.radio30" :options="options14" />
          </a-form-model-item>
          <a-form-model-item label="31 你是否因自己的一些问题求助于社会工作者">
            <a-radio-group v-model="radios.radio31" :options="options14" />
          </a-form-model-item>
          <a-form-model-item label="32 你是否因自己的一些问题寻求过其它正式的帮助">
            <a-radio-group v-model="radios.radio32" :options="options14" />
          </a-form-model-item>
          <a-form-model-item label="33 你是否曾与家庭成员或朋友谈论自己的问题">
            <a-radio-group v-model="radios.radio33" :options="options15" />
          </a-form-model-item>

          <div class="footer" v-if="!evalution1.output">
            <a-button
              :loading="saveLoading"
              style="margin-left: 500px; margin-top: 15px; margin-bottom: 1px"
              type="danger"
              @click="postHappiness()"
            >
              评估
            </a-button>
          </div>
        </div>
      </div>
    </a-card>
  </a-spin>
</template>

<script>
import { EvalutionMixin } from '@/mixins/EvalutionMixin'
import { PAGE_MENU_TYPE } from '@/store/mutation-types'

const options1 = [
  {
    value: 0,
    label: '好极了'
  },
  {
    value: 1,
    label: '精神很好'
  },
  {
    value: 2,
    label: '精神不错'
  },
  {
    value: 3,
    label: '精神时好时坏'
  },
  {
    value: 4,
    label: '精神不好'
  },
  {
    value: 5,
    label: '精神很不好'
  }
]
const options2 = [
  {
    value: 0,
    label: '极端烦恼'
  },
  {
    value: 1,
    label: '相当烦恼'
  },
  {
    value: 2,
    label: '有些烦恼'
  },
  {
    value: 3,
    label: '很少烦恼'
  },
  {
    value: 4,
    label: '一点也不烦恼'
  }
]
const options3 = [
  {
    value: 0,
    label: '绝对的'
  },
  {
    value: 1,
    label: '大部分是的'
  },
  {
    value: 2,
    label: '一般来说是的'
  },
  {
    value: 3,
    label: '控制的不太好'
  },
  {
    value: 4,
    label: '有些混乱'
  },
  {
    value: 5,
    label: '非常混乱'
  }
]
const options4 = [
  {
    value: 0,
    label: '极端怀疑'
  },
  {
    value: 1,
    label: '非常怀疑'
  },
  {
    value: 2,
    label: '相当怀疑'
  },
  {
    value: 3,
    label: '有些怀疑'
  },
  {
    value: 4,
    label: '略些怀疑'
  },
  {
    value: 5,
    label: '一点也不怀疑'
  }
]
const options5 = [
  {
    value: 0,
    label: '相当多'
  },
  {
    value: 1,
    label: '不少'
  },
  {
    value: 2,
    label: '有些'
  },
  {
    value: 3,
    label: '不多'
  },
  {
    value: 4,
    label: '没有'
  }
]
const options6 = [
  {
    value: 0,
    label: '非常幸福'
  },
  {
    value: 1,
    label: '相当幸福'
  },
  {
    value: 2,
    label: '满足'
  },
  {
    value: 3,
    label: '略有些不满足'
  },
  {
    value: 4,
    label: '非常不满足'
  }
]
const options7 = [
  {
    value: 0,
    label: '一点也没有'
  },
  {
    value: 1,
    label: '只有一点点'
  },
  {
    value: 2,
    label: '有些，不严重'
  },
  {
    value: 3,
    label: '有些，相当严重'
  },
  {
    value: 4,
    label: '是的，非常严重'
  }
]
const options8 = [
  {
    value: 0,
    label: '极端严重'
  },
  {
    value: 1,
    label: '非常严重'
  },
  {
    value: 2,
    label: '相当严重'
  },
  {
    value: 3,
    label: '有些'
  },
  {
    value: 4,
    label: '很少'
  },
  {
    value: 5,
    label: '无'
  }
]
const options9 = [
  {
    value: 0,
    label: '天天如此'
  },
  {
    value: 1,
    label: '几乎天天'
  },
  {
    value: 2,
    label: '相当频繁'
  },
  {
    value: 3,
    label: '不多'
  },
  {
    value: 4,
    label: '很少'
  },
  {
    value: 5,
    label: '无'
  }
]
const options10 = [
  {
    value: 0,
    label: '所有的时间'
  },
  {
    value: 1,
    label: '大部分时间'
  },
  {
    value: 2,
    label: '很多时间'
  },
  {
    value: 3,
    label: '有时'
  },
  {
    value: 4,
    label: '偶尔'
  },
  {
    value: 5,
    label: '无'
  }
]
const options11 = [
  {
    value: 0,
    label: '0'
  },
  {
    value: 1,
    label: '1'
  },
  {
    value: 2,
    label: '2'
  },
  {
    value: 3,
    label: '3'
  },
  {
    value: 4,
    label: '4'
  },
  {
    value: 5,
    label: '5'
  },
  {
    value: 6,
    label: '6'
  },
  {
    value: 7,
    label: '7'
  },
  {
    value: 8,
    label: '8'
  },
  {
    value: 9,
    label: '9'
  },
  {
    value: 10,
    label: '10'
  }
]
const options12 = [
  {
    value: 0,
    label: '是的，曾寻求帮助'
  },
  {
    value: 1,
    label: '是的，但未寻求帮助'
  },
  {
    value: 2,
    label: '有严重的问题'
  },
  {
    value: 3,
    label: '几乎没有问题'
  },
  {
    value: 4,
    label: '没有问题'
  }
]
const options13 = [
  {
    value: 0,
    label: '是的，在过去的一年里'
  },
  {
    value: 1,
    label: '是的，在过去的一年以前'
  },
  {
    value: 2,
    label: '无'
  }
]
const options14 = [
  {
    value: 0,
    label: '是'
  },
  {
    value: 1,
    label: '否'
  }
]
const options15 = [
  {
    value: 0,
    label: '是的，很有帮助'
  },
  {
    value: 1,
    label: '是的，有些帮助'
  },
  {
    value: 2,
    label: '是的，但没有帮助'
  },
  {
    value: 3,
    label: '否，没有人可与之谈论'
  },
  {
    value: 4,
    label: '否，没有人愿意与我谈论'
  },
  {
    value: 5,
    label: '否，不愿与人谈论'
  },
  {
    value: 6,
    label: '没有问题'
  }
]

export default {
  name: 'Sas',
  mixins: [EvalutionMixin],
  data() {
    var panes = []

    return {
      sas: {},
      evalution1: {
        output: ''
      },
      queryParam: { patientId: this.$route.query[PAGE_MENU_TYPE.PatientId] },
      buttonStatus: false,
      savaRes: [],
      input: [],
      options1,
      options2,
      options3,
      options4,
      options5,
      options6,
      options7,
      options8,
      options9,
      options10,
      options11,
      options12,
      options13,
      options14,
      options15,

      radios: {
        radio1: '',
        radio2: '',
        radio3: '',
        radio4: '',
        radio5: '',
        radio6: '',
        radio7: '',
        radio8: '',
        radio9: '',
        radio10: '',
        radio11: '',
        radio12: '',
        radio13: '',
        radio14: '',
        radio15: '',
        radio16: '',
        radio17: '',
        radio18: '',
        radio19: '',
        radio20: '',
        radio21: '',
        radio22: '',
        radio23: '',
        radio24: '',
        radio25: '',
        radio26: '',
        radio27: '',
        radio28: '',
        radio29: '',
        radio30: '',
        radio31: '',
        radio32: '',
        radio33: ''
      },
      activeKey: panes.content,
      panes,
      newTabIndex: 0,
      url: {
        postHappiness: '105/45/1054501',
        getHappiness: '105/45/1054503'
      }
    }
  },
  created() {
    this.getHappiness()
  },
  methods: {
    callback(key) {
      console.log(key)
    },
    onEdit(targetKey, action) {
      this[action](targetKey)
    },
    exit() {
      const patientId = this.$route.query[PAGE_MENU_TYPE.PatientId]
      let query = {}
      query[PAGE_MENU_TYPE.ParamsField] = PAGE_MENU_TYPE.HealthManage
      query[PAGE_MENU_TYPE.PatientId] = patientId
      this.$router.push({
        path: '../index',
        query
      })
    },

    add() {
      this.buttonStatus = true
      this.radios = []
      this.evalution1.output = ''
      const panes = this.panes
      const activeKey = `newTab${this.newTabIndex++}`
      panes.unshift({
        title: '请开始填写',
        key: activeKey,
        closable: false
      })
      this.panes = panes
      this.activeKey = activeKey
    },
    remove(targetKey) {
      let activeKey = this.activeKey
      let lastIndex
      this.panes.forEach((pane, i) => {
        if (pane.key === targetKey) {
          lastIndex = i - 1
        }
      })
      const panes = this.panes.filter(pane => pane.key !== targetKey)
      if (panes.length && activeKey === targetKey) {
        if (lastIndex >= 0) {
          activeKey = panes[lastIndex].key
        } else {
          activeKey = panes[0].key
        }
      }
      this.panes = panes
      this.activeKey = activeKey
    }
  }
}
</script>
<style scoped>
.container {
  background-color: #fff;
  margin: 0 auto;
}
.title {
  width: 100%;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: #333333;
  margin: 15px 0;
}
/* .footer {
  text-align: center;
} */
.tall-text {
  font-size: 12px;
  margin: 20px auto;
  background-color: #f7f7f7;
  padding: 10px;
  border-radius: 5px;
}
p {
  margin: 5px;
}
.eval_p {
  margin: 15px 10px;
}
.eval_diet {
  margin-top: 15px;
  font-size: 16px;
}
.width90 {
  width: 90%;
  margin: 0 auto;
}
</style>
